
class MyFile(object):
    """自定义文件读取类，实现上下文管理器的功能"""

    # 接受参数并初始化
    def __init__(self, file_name, file_method):
        self.file_name = file_name
        self.file_method = file_method

    # 上文方法
    def __enter__(self):
        print("__enter__方法")
        self.file1 = open(self.file_name, self.file_method)
        return self.file1

    # 下文方法
    def __exit__(self, exc_type, exc_val, exc_tb):
        print("__exit__方法")
        self.file1.close()


if __name__ == '__main__':
    with MyFile("test.txt", "r") as f:
        print(f.read())
